/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.urca.model;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Table;

/**
 *
 * @author Lucas
 */
@Entity
@Table(name = "GE_SETORES")
public class GeSetores implements Serializable {
	    
	private static final long serialVersionUID = 1L;
    
	@EmbeddedId
    protected GeSetoresPK geSetoresPK;
    
	@Column(name = "NOME")
    private String nome;
    
    @Column(name = "CATEGORIA")
    private Character categoria;
    @Basic(optional = false)
    
    @Column(name = "TIPO")
    private Character tipo;        

    public GeSetores() {
    }

    public GeSetores(GeSetoresPK geSetoresPK) {
        this.geSetoresPK = geSetoresPK;
    }

    public GeSetores(GeSetoresPK geSetoresPK, Character categoria, Character tipo) {
        this.geSetoresPK = geSetoresPK;
        this.categoria = categoria;
        this.tipo = tipo;
    }

    public GeSetores(short codInstituicao, short codSetor) {
        this.geSetoresPK = new GeSetoresPK(codInstituicao, codSetor);
    }

    public GeSetoresPK getGeSetoresPK() {
        return geSetoresPK;
    }

    public void setGeSetoresPK(GeSetoresPK geSetoresPK) {
        this.geSetoresPK = geSetoresPK;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Character getCategoria() {
        return categoria;
    }

    public void setCategoria(Character categoria) {
        this.categoria = categoria;
    }

    public Character getTipo() {
        return tipo;
    }

    public void setTipo(Character tipo) {
        this.tipo = tipo;
    }    

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (geSetoresPK != null ? geSetoresPK.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof GeSetores)) {
            return false;
        }
        GeSetores other = (GeSetores) object;
        if ((this.geSetoresPK == null && other.geSetoresPK != null) || (this.geSetoresPK != null && !this.geSetoresPK.equals(other.geSetoresPK))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "model.GeSetores[ geSetoresPK=" + geSetoresPK + " ]";
    }
    
}
